1. Field of the Invention
The present invention relates to a functional device such as an FPGA (Field Programmable Gate Arrays) which carries out a necessary function by programming. In particular, the present invention relates to a functional device, a function maintaining method and a function maintaining program which overcome a fault such as a software error and can achieve maintenance of a continuous function.
2. Description of the Related Art
As is well known, the FPGA is an integrated circuit device in which circuit information inside the device can be written electrically by a program given from an outside, and which carries out a necessary circuit function by that circuit information.
Such an FPGA has a RAM (Random-Access Memory) for the purpose of maintaining the circuit information, and, for this RAM, an SRAM (Static RAM) is used. In the SRAM, the quantity of an individual electric charge is becoming small with the low voltage of a supply voltage and the minuteness of an integrated circuit in recent years. Because of this, there is some fear that a software error occurs. If the circuit information which has been written is changed by some electrical cause such as a software error, abnormality occurs in circuit behavior of the FPGA. In order to make a normal function recover, it is necessary to stop a system and to correct memory contents of the SRAM provided inside the FPGA. That is, it is necessary to rewrite the circuit information.
By the way, as patent documents which disclose in regard to the FPGA and the recovery of its function, the Japanese Laid Open Publications No. H09-62528 and No. H08-44581 are in existence.
As described above, in case in which the circuit information written in the FPGA is changed by some electrical cause such as a software error, the correction of the memory contents of the SRAM or the rewriting of the SRAM becomes necessary in order to recover a function of the FPGA. However, in such processing, a temporary stoppage and a restart of the system must be performed, for example. This is troublesome.
By the way, in the publication No. H09-62528, enabling self-recovery during service or during use after forwarding a functional device is disclosed. That is, as a functional device, for example, functional components and packaged devices are provided over a plurality of systems in parallel. One system out of those systems is used, the other system is made into a backup system at the time of a fault, and the backup system executes a function as proxy when a fault occurs in the system under use. Further, the publication No. H09-62528 discloses that an integrated circuit device is used as the functional device, and an FPGA is exemplified as the integrated circuit device. In this FPGA, the detection and decision of fault occurrence are disclosed, and, further, the recovery of a function executed based on that is also disclosed.
However, in the self-recovering device disclosed in the publication No. H09-62528, a functional component or a packaged device which presents a functional fault can not carry out self-recovery in essence. Because of this, when the backup system is used, the system which has presented a fault can not be used as a backup system. Further, in case in which only one backup system is provided, the state of non-redundant operation without a backup system is caused at the time of the occurrence of a fault. Furthermore, also in case in which a plurality of backup systems are in existence, the backup systems are reduced in number if a fault occurs. It is disclosed that prompt repair is needed in order to avoid such a state, and therefore imperfection of providing the backup system is indicated.
In addition, this self-recovering device has a functional circuit part, a fault detection part, an internal memory, a definition processing part and so on. The internal memory stores a plurality of pieces of layout pattern definition information which defines a function for the purpose of realizing a function of the functional circuit part. Based on the discriminated result of a fault area from the fault detection part, the definition processing part re-defines the functional circuit part in accordance with definition information not including a divided area, in which a fault is generated, from the layout pattern definition information stored in the internal memory. By such a constitution, the self-recovering device realizes a functional recovery by self-restoration and nothing more.
On the other hand, the publication No. H08-44581 discloses on an information processing device with a self-repairing function. This publication only discloses that the information processing device is constituted by providing a plurality of FPGAs and thereby the FPGAs are re-constituted based on the occurrence of a fault.